#include <sycservice.h>

/*********************************************************************************
* 
* syctbl_fs_open - 系统调用 文件 打开文件
* 
* DESCRIPTION
*/

sysstus_t syctbl_fs_open
    (
    uint_t       sycnbr,
    stkparam_t * stkparam
    )
    {
    sysstus_t retstus;

    /* 检查系统调用号 */

    if (sycnbr != SNR_FS_OPEN)
        {
        return ERROR;
        }

    /* 获取参数并调用具体完成功能函数 */

    retstus = krlsve_fs_open ((void *) stkparam->val1, (uint_t) stkparam->val2,
                              (uint_t) stkparam->val3);

    return retstus;
    }

/*********************************************************************************
* 
* syctbl_fs_close - 系统调用 文件 关闭文件
* 
* DESCRIPTION
*/

sysstus_t syctbl_fs_close
    (
    uint_t       sycnbr,
    stkparam_t * stkparam
    )
    {
    sysstus_t retstus;

    /* 检查系统调用号 */

    if (sycnbr != SNR_FS_CLOSE)
        {
        return ERROR;
        }

    /* 获取参数并调用具体完成功能函数 */

    retstus = krlsve_fs_close ((hand_t) stkparam->val1);

    return retstus;
    }

/*********************************************************************************
* 
* syctbl_fs_read - 系统调用 文件 读取文件
* 
* DESCRIPTION
*/

sysstus_t syctbl_fs_read
    (
    uint_t       sycnbr,
    stkparam_t * stkparam
    )
    {
    sysstus_t retstus;

    /* 检查系统调用号 */

    if (sycnbr != SNR_FS_READ)
        {
        return ERROR;
        }

    /* 获取参数并调用具体完成功能函数 */

    retstus = krlsve_fs_read ((hand_t) stkparam->val1, (buf_t) stkparam->val2,
                              (size_t) stkparam->val3, (uint_t) stkparam->val4);

    return retstus;
    }

/*********************************************************************************
* 
* syctbl_fs_write - 系统调用 文件 写文件
* 
* DESCRIPTION
*/

sysstus_t syctbl_fs_write
    (
    uint_t       sycnbr,
    stkparam_t * stkparam
    )
    {
    sysstus_t retstus;

    /* 检查系统调用号 */

    if (sycnbr != SNR_FS_WRITE)
        {
        return ERROR;
        }

    /* 获取参数并调用具体完成功能函数 */

    retstus = krlsve_fs_write ((hand_t) stkparam->val1, (buf_t) stkparam->val2,
                               (size_t) stkparam->val3, (uint_t) stkparam->val4);

    return retstus;
    }

/*********************************************************************************
* 
* syctbl_fs_ioctl - 系统调用 文件 IOCTL
* 
* DESCRIPTION
*/

sysstus_t syctbl_fs_ioctl
    (
    uint_t       sycnbr,
    stkparam_t * stkparam
    )
    {
    sysstus_t retstus;

    /* 检查系统调用号 */

    if (sycnbr != SNR_FS_IOCTL)
        {
        return ERROR;
        }

    /* 获取参数并调用具体完成功能函数 */

    retstus = krlsve_fs_ioctl ((hand_t) stkparam->val1, (buf_t) stkparam->val2,
                               (uint_t) stkparam->val3, (uint_t) stkparam->val4);

    return retstus;
    }

/*********************************************************************************
* 
* syctbl_fs_lseek - 系统调用 文件 调整当前数据的读写位置
* 
* DESCRIPTION
*/

sysstus_t syctbl_fs_lseek
    (
    uint_t       sycnbr,
    stkparam_t * stkparam
    )
    {
    sysstus_t retstus;

    /* 检查系统调用号 */

    if (sycnbr != SNR_FS_LSEEK)
        {
        return ERROR;
        }

    /* 获取参数并调用具体完成功能函数 */

    retstus = krlsve_fs_lseek ((hand_t) stkparam->val1, (uint_t) stkparam->val2,
                               (uint_t) stkparam->val3);

    return retstus;
    }